package com.itlong.cloud.operate.service;

import com.itlong.cloud.POJO.DTO.operate.OperateDeviceQRCodePageDTO;
import com.itlong.cloud.POJO.VO.operate.OperateDeviceQRCodeInfoAllVO;

import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      设备二维码管理业务处理接口
 * </desc>
 *
 * @createDate 2020/2/24
 */
public interface IOperateDeviceQRCodeService {

    /**
     * <desc>
     *      分页获取设备二维码数据
     * </desc>
     *
     * @param operateDeviceQRCodePageDTO 查询参数DTO
     * @return
     * @Author Zhu.yj
     * @createDate  2020/2/24
     */
    OperateDeviceQRCodeInfoAllVO getDeviceQRCodeByPage(OperateDeviceQRCodePageDTO operateDeviceQRCodePageDTO) throws Exception;

    /**
     * <desc>
     *      批量保存设备二维码信息
     * </desc>
     *
     * @param  operateDeviceQRCodePageDTO 参数DTO
     * @return
     * @Author Zhu.yj
     * @createDate  2020/2/25
     */
    Integer batchSave(OperateDeviceQRCodePageDTO operateDeviceQRCodePageDTO) throws Exception;

    /**
     * <desc>
     *      批量更改设备二维码状态
     * </desc>
     *
     * @param operateDeviceQRCodePageDTO 更新参数DTO
     * @return 受影响行数
     * @Author Zhu.yj
     * @createDate  2020/2/25
     */
    Integer updateStatus(OperateDeviceQRCodePageDTO operateDeviceQRCodePageDTO) throws Exception;

    /**
     * <desc>
     *      根据code获取useStatus与status
     * </desc>
     *
     * @param codes 二维码id
     * @return
     * @Author Zhu.yj
     * @createDate  2020/3/2
     */
    List<Map<String, Object>> getQRCodeStatus(String codes) throws Exception;

}
